require('./index.css')

// 通用的JS工具封装
var _wm = require('util/wm.js')
// 用户服务
var _user = require('service/user-service.js')
// 购物车服务
var _cart = require('service/cart-service.js')

var nav = {
    // 初始化
    init: function(){
        this.bindEvent()
        this.loadUserInfo()
        this.loadCartCount()

        // 返回这个this很关键，就是在本脚本就调用init()，同时要把对象nav暴露出去
        // 必须return this，则外部调用时，才能调用的本对象nav
        return this
    },

    // 绑定事件
    bindEvent: function(){
        // 登录点击事件
        $('.js_login').click(function(){
            _wm.doLogin()
        })

        // 注册点击事件
        $('.js_register').click(function(){
            window.location.href = './user-register.html'
        })

        // 退出点击事件
        $('.js_logout').click(function(){
            _user.logout(function(res){
                window.location.reload()
            }, function(errMg){
                _wm.errorTis(errMsg)
            })
        })
    },

    // 读取用户信息
    loadUserInfo: function(){
        _user.checkLogin(function(res){
            $('.user.not_login').hide().siblings('.user.login').show().find('.username').text(res.username)
        }, function(errMg){
            // do nothing
        })
    },

    // 读取购物车数量
    loadCartCount: function(){
        _cart.getCartCount(function(res){
            $('.nav .cart_count').text(res || 0)
        }, function(errMg){
            $('.nav .cart_count').text(0)
        })
    }
}

module.exports = nav.init()